1. Field of the Invention
The present invention relates to a method and an apparatus for correcting errors of compressed digital data, and more particularly to a method and an apparatus for correcting errors of compressed digital data, capable of minimizing an influence by errors upon expanding the compressed data and achieving an improvement in error correcting capability, in an apparatus for processing the compressed image data.
2. Description of the Prior Art
Referring to FIGS. 1A and 1B, there is illustrated a general method for dual encoding data. In accordance with the method, first, rows of data are encoded in a vertical direction, for adding a parity bit (C.sub.2 encoding), as shown in FIG. 1A. Thereafter, columns of data are encoded in a horizontal direction, for adding a parity bit (C.sub.1 encoding). Upon error-decoding the encoded data at a receiving stage, C.sub.1 decoding and C.sub.2 decoding are carried out in a reverse manner.
Upon the encoding, read solomon (RS) codes on a galois field (28) are used. The RS codes are proper for an operation by words as a high rate operation, as compared with an operation by bits. In particular, they are proper for a correction by words such as a 8-8 conversion or 8-10 conversion. In addition, a dual coding is carried out for improving the error-correcting capability.
A conversion of burst errors into random errors is accomplished according to deinterleave procedures. A general error correction system makes the error correction easy, in that burst errors are converted into random errors through three deinterleave units associated with an error correction unit, as shown in FIG. 2.
A central data processor (CDP) uses cross interleave read-solomon codes (CIRSCs) for the error correction. This error correction system is a kind of dual coding in which RS codes are dually applied to data, so as to provide different combinations for the same data group.
As codes of C.sub.1 and C.sub.2 fields, RS(32,28) and RS(28,24) on GF(28) are used, respectively.
Because each code of C.sub.1 and C.sub.2 fields is added with 4 symbol parity bite, it is possible to correct symbol errors of up to two in an error correction and symbol errors of up to four in an erase correction.
FIG. 3 is a flowchart illustrating a C.sub.1 field-decoding system in a general CDP.
As data of C.sub.1 field is inputted as shown in FIG. 3, the number of errors is checked according to a syndrome operation. Depending on the number of errors, the following operations are carried out.
(1) No Error: Data is outputted without any error correction, but with a pointer being cleared.
(2) 1 Symbol Errors: Data is outputted after correcting one symbol error and clearing a pointer.
(3) 2 Symbol Errors: Data is outputted after correcting two symbol errors and adding a pointer to each data column. The addition is for avoiding an erroneous correction.
(4) At Least 3 Symbol Errors: Data is outputted without any error correction, but with an addition of a pointer to each corresponding data column. This is because the three symbol correction is beyond the error correction capability.
Referring to FIG. 4, there is illustrated a flowchart of a C.sub.2 field-decoding system in the general CDP.
Data with no pointer by an error correction and data added with pointers indicative of the presence of errors upon C.sub.1 field-decoding are inputted as C.sub.2 field data. First, the number of pointers is counted for the data rows in a C.sub.2 direction, namely, a vertical direction, irrespective of pointers. Thereafter, a syndrome operation is carried out for checking the number of errors.
(1) No Error: Data is outputted after clearing pointers added to each data row.
(2) 1 Symbol Errors: Data is outputted after correcting one symbol error, where the error symbol is positioned within the codeword and added with a pointer. In other cases, data is outputted after copying C.sub.1 pointer.
(3) 2 Symbol Errors: Data is outputted after correcting two symbol errors, where both the symbol errors are positioned within the codeword and added with pointers and the number of added pointers is not more than four. In other cases, data is outputted after copying C.sub.1 field pointers or adding pointers to all of C.sub.2 field data, depending on the number of pointers a determination about whether a pointer is added to each error symbol.
(4) At Least 3 Symbol Errors: Data is outputted after adding pointers to all of C.sub.2 or copying C.sub.1 field pointers according to a comparison of the number of pointers P1 added to C.sub.1 field data with the number of symbol errors correctable by the used decoding method.
This error decoding methods corrects errors only when the errors are within the error correction capability. In other cases, an addition of pointers are achieved.
As a result, general C.sub.1 field- and C.sub.2 field-decoding methods can correct errors of up to two and do not utilize an erase correction. In these cases, a pointer is added to each symbol of data, after the error-correcting decoding.
The reason why the conventional methods attach importance to the error detection above the error correction is that error data can be corrected by a method such as an interpolation after the error correction, since data being recorded is not compressed data. Also, it is worth considering data that is outputted, due to the correction such as interpolation or block substitution carried out at a downstream correction stage. This is because the data being recorded is tone.
In home-use VCRs in which highly compressed data signals are processed, however, it is difficult to correct errors using the conventional error correction techniques. Since the data being processed is image data, the error correction based on pointers at the downstream correction stage after the error detection causes the picture quality to be degraded. Although there has been proposed a method for substituting the entire compression blocks with error symbols by corresponding blocks of previous frame, it causes not only a block effect, but also the degradation in picture quality at the same image data.